For many multimedia applications, not only is processor speed important, but also input/output bandwidth is a critical factor that limits applications on personal computers. To address this limitation, the IEEE 1394 standard enables high-performance multimedia connections with camcorders, televisions, stereos, CD changers, set-top boxes, mixing consoles and music keyboards, as well as traditional personal computer devices. Also known as the "FireWire" standard, IEEE 1394 provides a bus interface standard for portable and desktop computing environments. The IEEE 1394 Standard serves as an important linking technology that bridges the consumer and computer markets and describes a serial bus driven by an advanced communication protocol. The IEEE 1394 serial bus is designed for low system cost, while providing the data transfer rates needed for high-performance peripheral buses.
Developed by the Institute of Electrical and Electronics Engineers (IEEE) and its list of member computer companies, the IEEE 1394 standard is a serial bus interface that enables low-cost, high-speed digital data transfer and communication. Transfer speeds between devices can reach up to 400 megabits per second (mbps) via both asynchronous and isochronous data transfer modes. The IEEE 1394 Standard interface lends itself to video applications because it operates an isochronous time-slice system. For example, if the system was configured to output one frame per 1/15 seconds, at least one frame will exist in every packet that is sent out. This results in smooth looking video. For that reason, the IEEE 1394 Standard interface is highly compatible with technologies like asynchronous transfer mode (ATM) which also operates in an isochronous mode.
Benefits of the IEEE 1394 Standard are a real-time transmission of data that provides the benefit of an ideal interconnect for multimedia applications. Using a small, durable and flexible cable and cable connectors, the IEEE 1394 Standard generates cost savings and eliminates certain cable requirements. The IEEE 1394 Standard provides universal input/output interconnects that integrate input/output ports while consolidating printed circuit board space. Moreover, the IEEE 1394 Standard provides peer-to-peer communication structure that permits peripherals to communicate directly with each other without burdening the host unit.
The IEEE 1394 Standard provides a high speed serial bus that uses packetized data that includes a header. The header includes routing information. In addition, the packetized data includes payload data. Physical characteristics of the media are not necessarily designed for a long transmission distance. The IEEE 1394 Standard is designed for short distances such as local area networks that operate on a desktop bus. The distances are often longer than simply the desktop, but the IEEE 1394 Standard is not intended to be used for local area network operations. In essence, therefore, the IEEE 1394 Standard provides a high speed interconnect to replace serial buses and parallel buses for accessing devices such as workstations, home computers, televisions, VCRs, and camcorders with various media types such as audio, video and text.
In controlling a platform-specific IEEE 1394 Standard bus interface device, there is the requirement to assure data structures for controlling the direct memory access machines are optimal. There is the requirement to minimize the number of PCI accesses to acquire the maximum amount of information during a transfer of data from one location to another. Existing methods for controlling the transfer of data, however, are not acceptable, because they fail to operate the associated DMA engine in an optimal fashion requiring too many inputs and outputs from memory. In order to reduce the number of memory accesses and, accordingly, the amount of real time that is required to acquire the control structures, as opposed to actually transferring the data, there is the need to employ control structures that minimize the number of accesses for control information. The control structures that control data transfer are overhead items in the transfer of data and does not count toward the transfer of data or toward the efficiency of data transfer.